#ifndef __GLOBETIMER_H__
#define __GLOBETIMER_H__
#pragma once
//--------------------------------------------------------------------------------------
// Performs timer operations
// Use DXUTGetGlobalTimer() to get the global instance
//--------------------------------------------------------------------------------------

namespace wild
{


class GlobeTimer
{
public:
	GlobeTimer();

	void Reset(); // resets the timer
	void Start(); // starts the timer
	void Stop();  // stop (or pause) the timer

	double GetElapsedTime(); // get the time that elapsed between Get*ElapsedTime() calls

	bool IsStopped(); // returns true if timer stopped



protected:
	Ulong GetAdjustedCurrentTime();

	bool m_bTimerStopped;
	//LLong m_llQPFTicksPerSec;

	LLong m_llStopTime;
	LLong m_llLastElapsedTime;
	//LLong m_llBaseTime;

	static const Ulong CLOCK_PER_SECOND;
};

}	//	namespace wild

#endif	//	__GLOBETIMER_H__
